import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
    state: {
        menus:[]
        // 还可以继续写变量,这里state就相当于data{...}
        //Xxx:xxx,
    },
    mutations: {  //这里面定义方法,因为上面的变量是私有,要通过这里定义方法来修改
        /**
         * 初始化菜单
         * state 参数是固定的，通过这个参数可以访问到 state 中的变量，将来调用这个方法的时候，不用手动传入 state 参数,调用方法时会自动传进来.
         * menus 这个是用户传入的参数
         * @constructor
         */

        INIT_MENUS(state,menus) {   //这个state就是上面定义的state.
            //只能两个参数.名字可自定义,位置讲究,如果想传多个,就封装第二个参数中,
            state.menus = menus;  //调用这个方法,把传进来的menus赋值给上面定义的state里的menus
        }
    },
    actions:{  //和mutations差不多,不过这里可以定义方法,发送请求

    }
})